package com.center.growcenterserver.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.center.growcenterserver.common.R;
import com.center.growcenterserver.mapper.TeacherCourseMapper;
import com.center.growcenterserver.model.domain.TeacherCourse;
import com.center.growcenterserver.service.TeacherCoursesService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


@Slf4j
@Service
public class TeacherCoursesServiceImpl implements TeacherCoursesService {

    @Autowired
    private TeacherCourseMapper teacherCourseMapper;

    /**
     * 根据教师 ID 获取其关联的课程 ID 列表（分页）
     *
     * @param teacherId 教师 ID
     * @param page      分页对象
     * @return 包含课程 ID 的分页结果
     */
    @Override
    public R getTeacherCoursesById(String teacherId, IPage<TeacherCourse> page) {
        // 参数校验
        if (StringUtils.isBlank(teacherId)) {
            return R.error("教师 ID 不能为空");
        }

        // 查询条件：根据 teacherId 查询 teacher_courses 表
        QueryWrapper<TeacherCourse> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("teacher_id", teacherId);

        // 执行分页查询
        IPage<TeacherCourse> resultPage = teacherCourseMapper.selectPage(page, queryWrapper);

        // 检查是否有数据
        if (resultPage == null || resultPage.getRecords().isEmpty()) {
            return R.ok();
        }

        // 返回成功结果
        return R.success("查询成功",resultPage);
    }
}
